import type { App } from 'vue';
import { authDirective } from '/@/directive/authDirective';
import { wavesDirective, dragDirective } from '/@/directive/customDirective';
import { selectLoadMore } from '/@/directive/selectLoadMore';
import { copyDirective } from '/@/directive/copy';
import { debounceDirective } from '/@/directive/debounce';


/**
 * 导出指令方法：v-xxx
 * @methods authDirective 用户权限指令，用法：v-auth
 * @methods wavesDirective 按钮波浪指令，用法：v-waves
 * @methods dragDirective 自定义拖动指令，用法：v-drag
 * @methods selectLoadMore 自定义el-select触底加载指令，用法：v-selectLoadMore
 */
export function directive(app: App) {
	// 用户权限指令
	authDirective(app);
	// 按钮波浪指令
	wavesDirective(app);
	// 自定义拖动指令
	dragDirective(app);
	// 自定义select滚动加载指令
	selectLoadMore(app);
	// 自定义复制指令
	copyDirective(app)
	// 自定义防抖指令
	debounceDirective(app)
}
